package org.example.controller;

import org.example.entity.Hero;
import org.example.entity.Hero2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

// @Controller // 由spring管理
// @ResponseBody // 将return的对象解析为json数据,返回给前端
@RestController// 是一个组合注解, (相当于 @Controller + @ResponseBody)
@RequestMapping("/user")// 将访问路径的前缀提取出来
// 真实的访问路径: http://ip:端口号@RequestMapping@GetMapping
public class UserController {

    /// / @GetMapping 注解: 表示接收get请求, "/user/index" 表示接收的请求路径
    //@GetMapping("/user/index")
    //public String index() {
    //    System.out.println("处理请求");
    //    return "success";
    //}

    @Autowired
    Hero2 hero;

    @GetMapping("/index")
    public String index() {
        //System.out.println(hero);
        System.out.println("controller方法执行");
        return "success";
    }

    /*
        关于浏览器传递的数据
    *       一般情况下,浏览器端数据的key, 应该与方法的形参名保持一致
            前端传递数据的方式: http://localhost:8080/user/getById?id=A00001
            那么后端的方法getById(String id)中的id形参接收的就是地址栏的数据id

            但是如果前端传递的key和方法名的形参名不一致,应该使用@RequestParam注解来解决这样的问题
            如: http://localhost:8080/user/getById?idd=A00001 前端传送的key为idd,那么后端处理可以:
            public String getById(@RequestParam("idd") String id) @RequestParam指定要接收浏览器idd的数据 String id形参就能够成功接收到数据了
    * */
    @GetMapping("/getById")
    public String getById(@RequestParam("idd") String id) {
        System.out.println("前端传送来的id: " + id);
        return "success";
    }

}
